#ifndef ALGOCG_H
#define ALGOCG_H

#include <stdint.h>
#include <stdarg.h>

typedef struct
{
    int x;
    int y;
    uint16_t color;
} CGPoint;

void lcd_draw_circle(uint16_t x0, uint16_t y0, uint8_t r);
void algoCG_DrawLine(CGPoint a, CGPoint b);
void lcd_draw_rectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2);
void lcd_show_num(uint16_t x, uint16_t y, uint32_t num, uint8_t len, uint32_t size);
uint32_t lcd_show_string(uint16_t x, uint16_t y, uint32_t size, const char *fmt, ...);
uint32_t lcd_show_image(uint16_t x, uint16_t y, uint16_t length, uint16_t wide, const uint8_t *p);
void algoCG_Fill(CGPoint leftTop, CGPoint rightBottom);

#endif
